﻿'Description:批次检验类
'Copyright (c) : 通力凯顿（北京）系统集成有限公司
'Writer:Yuxj
'create Date:2017-10-31
'Rewriter:
'Rewrite Date:
Imports BusinessRule.DTO
Public Interface uLMSDealFaultBillIbusiness
#Region "排故单新功能Yuxj20190529"
    ''' <summary>
    ''' 获取开具排故单订单信息
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetPGMfgorderinfo(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
    ''' <summary>
    ''' 根据订单Id获取排故单
    ''' </summary>
    ''' <param name="mfgid"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetPGDbyMfgId(ByVal mfgid As String, ByVal type As String) As DataTable

    ''' <summary>
    ''' 获取发动机装配信息
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetDFIssueMaterial(ByVal para As Dictionary(Of String, String)) As DataTable

    ''' <summary>
    ''' 获取排故单信息
    ''' </summary>
    ''' <param name="dfname"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetDFinfo(ByVal dfname As String) As DataTable
    ''' <summary>
    ''' 获取排故单查询方法
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetPGDataInfo(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
    Function GetPGDataTable(ByVal para As Dictionary(Of String, String)) As DataTable
    '排故申请
    Function SaveDealFaultBill(ByVal entity As BusinessRule.DTO.dealFaultBillInfoDTO, ByVal SaveType As Integer) As Boolean
    Function UpdateDealFaultTransfer(ByVal para As Dictionary(Of String, String)) As Boolean
#End Region

    Function GetBHGSLInfo(ByVal strBHGSL As String) As DataTable
    Function GetPGDNextFlowSN(ByVal strBillNameFix As String) As String
    Function CheckPGDExists(ByVal strBillName As String) As Boolean
    Function GetPGDInfo(ByVal para As Dictionary(Of String, String)) As uMESProcessResult
    Function GetUserID(ByVal strEmp As String) As String
    Function GetFactoryList() As DataTable
    Function GetDealFaultTypeList() As DataTable
    Function InsertDealFaultBill(ByVal entity As BusinessRule.DTO.dealFaultBillInfoDTO) As Boolean
    Function DeleteDealFaultBill(ByVal strDealFaultBill As String) As Boolean
    Function CancleDealFaultBill(ByVal strDealFaultBill As String) As Boolean
    Function InsertCollectErpmaterial(ByVal para As Dictionary(Of String, String)) As Boolean
    Function InsertDealFaultStep(ByVal dtStep As DataTable) As Boolean
    Function DeleteDealFaultStep(ByVal strDealFaultBillid As String) As Boolean
    Function GetPGDStepInfo(ByVal strPGDID As String) As DataTable

    Function InsertDealFaultTransfer(ByVal para As Dictionary(Of String, String)) As Boolean
    Function UpdateDealFaultTransferRecv(ByVal para As Dictionary(Of String, String)) As Boolean
    Function UpdateDealFaultTransferReturn(ByVal para As Dictionary(Of String, String)) As Boolean
    Function UpdateDealFaultTransferAccept(ByVal para As Dictionary(Of String, String)) As Boolean
    Function GetTeamList(ByVal FactoryID As String) As DataTable 'update YangJiang 20180527 ByVal FactoryID As String
    Function GetTeamEmpList(ByVal teamid As String) As DataTable
    Function GetBHGDH(ByVal strBillID As String) As String

    ''' <summary>
    ''' 装试检验更新排故故障情况 add YangJiang 20180526
    ''' </summary>
    ''' <param name="faultdesc"></param>
    ''' <param name="dealfaultbillid"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function UpdateDealFaultBill(ByVal faultdesc As String, ByVal dealfaultbillid As String) As Boolean

    ''' <summary>
    ''' 装试调度更新排故类型和返分厂 add YangJiang 20180526
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function UpdateFaultTypeAndFactory(ByVal para As Dictionary(Of String, String)) As Boolean
    ''' <summary>
    ''' 获取接收人和排故后接收人 add YangJiang 20180528
    ''' </summary>
    ''' <param name="FactoryID"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetEmpList(ByVal FactoryID As String) As DataTable

    ''' <summary>
    ''' 撤销排故转出 add YangJiang 20180528
    ''' </summary>
    ''' <param name="DealFaultBillID"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function Rework(ByVal DealFaultBillID As String) As Boolean

    ''' <summary>
    ''' 一次申请多个部件批次排故时，将数据插入排故明细表 add YangJiang 20180719
    ''' </summary>
    ''' <param name="DealFaultBillID"></param>
    ''' <param name="IssueERPMaterialID"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function SaveDealFaultBillDetail(ByVal DealFaultBillID As String, ByVal IssueERPMaterialID As String) As Boolean

    ''' <summary>
    ''' 
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function SearchDealFaultContainer(ByVal para As Dictionary(Of String, String)) As DataTable

    ''' <summary>
    ''' Add by Yuxj20180820
    ''' 根据批次条件，查找系统满足的批次
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function SearchContainer(ByVal para As Dictionary(Of String, String)) As DataTable

    ''' <summary>
    ''' Add by Yuxj20180820
    ''' 记录批次号
    ''' </summary>
    ''' <param name="para"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function InsertDealFaultContainer(ByVal para As Dictionary(Of String, String)) As Boolean

    ''' <summary>
    ''' Add by Yuxj20180820
    ''' 删除批次号 
    ''' </summary>
    ''' <param name="DealFaultBillId"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function DeleteDealFaultContainer(ByVal DealFaultBillId As String) As Boolean

    ''' <summary>
    ''' Add by Yuxj20181106
    ''' </summary>
    ''' <param name="REWORKREASONID"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function GetReworkReasonData(ByVal REWORKREASONID As String) As DataTable
End Interface
